Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

214
Views
Mientras repite varias declaraciones en js. "El juego de los dados"

Tengo que crear un juego de dados, si cae en 2,3,6,12, se supone que el juego se detiene y me dice en cuál de los números cayó la suma de mis dos dados y cuántas "tiradas" o intentos. me llevó a llegar allí. No he podido averiguar por qué mi programa no funciona, si borro las condiciones en el ciclo while y dejo solo una, por ejemplo: while(dice != 2); el programa se ejecutará, pero obviamente solo coincidirá si aterriza en 2. ¡Por favor, ayúdenme!

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (dice != numb1 || dice != numb2 || dice != numb3 || dice != numb4) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Cambia tu || a && en tu while

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (dice != numb1 && dice != numb2 && dice != numb3 && dice != numb4) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; } play()
 <div id="results"></div> <div id="rolls"></div>

puede mejorar la condición while usando includes

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (![numb1, numb2, numb3, numb4].includes(dice)) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; } play()
 <div id="results"></div> <div id="rolls"></div>

about 4 years ago · Juan Pablo Isaza Report

0

Su código no funciona, porque los dice tendrían que ser cada uno de estos números al mismo tiempo para funcionar, lo cual es imposible.

Intenta hacer esto:

 while (![2, 3, 6, 12].includes(dice)) {

Además, su función aleatoria no puede obtener 1 , tal vez intente:

 Math.floor(Math.random() * 12) + 1
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!